{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DenseNet on Cifar\n",
    "\n",
    "This is LeNet (6c-16c-120-84) on Cifar10. Adam algorithm (lr=0.001) with 100 epoches.\n",
    "\n",
    "\n",
    "#### DenseNet\n",
    "\n",
    "    Total params: 2,746\n",
    "    Trainable params: 2,618\n",
    "    Non-trainable params: 128\n",
    "\n",
    "\n",
    "####  DenseNet with 10 intrinsic dim\n",
    "\n",
    "    Total params: 28,936\n",
    "    Trainable params: 10\n",
    "    Non-trainable params: 28,926\n",
    "    \n",
    "#### DenseNet with 10000 intrinsic dim    \n",
    "    Total params: 26,192,746\n",
    "    Trainable params: 10,000\n",
    "    Non-trainable params: 26,182,746\n",
    "\n",
    "\n",
    "#### DenseNet with 15000 intrinsic dim    \n",
    "    Total params: 39,287,746\n",
    "    Trainable params: 15,000\n",
    "    Non-trainable params: 39,272,746"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import os, sys\n",
    "import numpy as np\n",
    "from matplotlib.pyplot import *\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def extract_num(lines0):\n",
    "\n",
    "    valid_loss_str     = lines0[-5]\n",
    "    valid_accuracy_str = lines0[-6]\n",
    "    train_loss_str     = lines0[-8]\n",
    "    train_accuracy_str = lines0[-9]\n",
    "    run_time_str       = lines0[-10]\n",
    "\n",
    "\n",
    "    valid_loss     = float(valid_loss_str.split( )[-1])\n",
    "    valid_accuracy = float(valid_accuracy_str.split( )[-1])\n",
    "    train_loss     = float(train_loss_str.split( )[-1])\n",
    "    train_accuracy = float(train_accuracy_str.split( )[-1])\n",
    "    run_time       = float(run_time_str.split( )[-1])\n",
    "    \n",
    "    \n",
    "    \n",
    "    return valid_loss, valid_accuracy, train_loss, train_accuracy, run_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def extract_num_dir(lines0):\n",
    "\n",
    "    valid_loss_str     = lines0[-5]\n",
    "    valid_accuracy_str = lines0[-6]\n",
    "    train_loss_str     = lines0[-8]\n",
    "    train_accuracy_str = lines0[-9]\n",
    "    run_time_str       = lines0[-11]\n",
    "\n",
    "\n",
    "    valid_loss     = float(valid_loss_str.split( )[-1])\n",
    "    valid_accuracy = float(valid_accuracy_str.split( )[-1])\n",
    "    train_loss     = float(train_loss_str.split( )[-1])\n",
    "    train_accuracy = float(train_accuracy_str.split( )[-1])\n",
    "    run_time       = float(run_time_str.split( )[-1])\n",
    "    \n",
    "    \n",
    "    \n",
    "    return valid_loss, valid_accuracy, train_loss, train_accuracy, run_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Baseline LeNet:\n",
      "(1.93446, 0.5239, 1.92355, 0.5342, 4657.53)\n",
      "\n",
      "10 dim:\n",
      "(2.26903, 0.1742, 2.27125, 0.16984, 4650.38)\n",
      "\n",
      "50 dim:\n",
      "(2.20833, 0.2519, 2.2131, 0.24966, 4637.73)\n",
      "\n",
      "100 dim:\n",
      "(2.18982, 0.271, 2.19555, 0.26228, 4628.79)\n",
      "\n",
      "500 dim:\n",
      "(2.11538, 0.3401, 2.12425, 0.3326, 4614.07)\n",
      "\n",
      "1000 dim:\n",
      "(2.11856, 0.3372, 2.12425, 0.33204, 4617.5)\n",
      "\n",
      "2000 dim:\n",
      "(2.06223, 0.3971, 2.06798, 0.39108, 4616.81)\n",
      "\n",
      "5000 dim:\n",
      "(2.03031, 0.4289, 2.03121, 0.42948, 4650.37)\n",
      "\n",
      "10000 dim:\n",
      "(2.00616, 0.453, 2.00758, 0.45162, 4688.34)\n",
      "\n",
      "15000 dim:\n",
      "(2.02098, 0.4342, 2.00942, 0.44756, 4676.49)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "results_dir = '../results/dense_1_cifar'\n",
    "\n",
    "dim = [10,50,100,500,1000,2000,5000,10000,15000]\n",
    "i = 0        \n",
    "\n",
    "# filename list of diary\n",
    "diary_names = []\n",
    "for subdir, dirs, files in os.walk(results_dir):\n",
    "    for file in files:\n",
    "        if file == 'diary':\n",
    "            fname = os.path.join(subdir, file)\n",
    "            diary_names.append(fname)\n",
    "  \n",
    "diary_names_ordered = []\n",
    "for d in dim:\n",
    "    for f in diary_names:\n",
    "        if '_'+str(d)+'/' in f:\n",
    "            # print \"%d is in\" % d + f\n",
    "            diary_names_ordered.append(f)\n",
    "        if '_dir/' in f:\n",
    "            diary_names_dir = f            \n",
    " \n",
    "\n",
    "# print diary_names_ordered\n",
    "\n",
    "# extrinsic update  method\n",
    "with open(diary_names_dir,'r') as ff:\n",
    "    lines0 = ff.readlines()\n",
    "    R_dir = extract_num_dir(lines0)\n",
    "\n",
    "\n",
    "print \"Baseline LeNet:\\n\" + str(R_dir) + \"\\n\"\n",
    "\n",
    "\n",
    "# intrinsic update method\n",
    "Rs = []\n",
    "i = 0\n",
    "for fname in diary_names_ordered:\n",
    "    with open(fname,'r') as ff:\n",
    "        lines0 = ff.readlines()\n",
    "        R = extract_num(lines0)\n",
    "        print \"%d dim:\\n\"%dim[i] + str(R) + \"\\n\"\n",
    "        i += 1\n",
    "\n",
    "        Rs.append(R)\n",
    "                            \n",
    "Rs = np.array(Rs)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Performance comparison with Baseline\n",
    "\n",
    "\"Baseline method\" indicates optimization in the parameter space.\n",
    "\n",
    "The proposed method first embeds parameters into the intrinisic space (via orthogonal matrix), and optimization is the new space.\n",
    "\n",
    "The dimension of intrinsic space indicates the degree of freedom in the weights of neural nets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n2UlHR8fev8H7oc7tnXQc21HeBn73a28/Zw8welxxeqdBSkv2kg4HbgGmUHzxvD4iru6xjICrgTOB\nV+GHhIUAAA2WSURBVIELIuKhVHc+8OW06BURcXNZbTUzq6elpRhBfuyxvdWKRy4+jTdeamHjC0ew\n8pA/pWPHtUw+8Hl2jg2Ou3LJyBygNtJ1n5cfIaPx3wS+GBEPSZoArJC0OCIerVnmo8CM9PggcC3w\nQUkHAV8F2im+KKyQdFdEvFBie83MBu1HE+dy8bh/YuYha2g7+jfpeOw/eTXG8M3RF3GSE/3Idfwf\nNTS59zSIyxAMTkRs695Lj4iXgXVAzysMzAVuicISoFXSocDpwOKI2J4S/GLgjLLaama2t2aeNY/L\nYx5bdk2GgC27JnN5zGPmWfMa3TSz3YblnL2kacAsYGmPqsOAp2rmt6SyeuVmZvuV4ippF/HHd5/G\nOfEylx34zw2/NKpZT4p6t/cZqg1ILcDPga9HxB096hYB34iIX6T5nwF/DXQAYyPiilT+FeD/IuKq\nXtY/D5gHMGXKlJMWLlxYWixdXV20tOR1xy7HVA2OqRocUzXkFNPs2bNXRMQ7LkfVU6l79pJGAz8G\nbu2Z6JOtwOE181NT2VaKhF9b3tnbNiLieuB6gPb29ihz1GiWo1IdUyU4pmpwTNWQY0z9Ke2cfRpp\nfyOwLiK+U2exu4DzVDgFeDEitgF3A3MktUlqA+akMjMzMxukMvfsTwU+AayRtDKVXQq8ByAirgP+\nneJndxsofnr3yVS3XdLX2HONo7+LiO0lttXMzCxbpSX7dB6+z6s4RDFg4HN16m4CbiqhaWZmZiNK\naYfxzczMbP/gZG9mZpY5J3szM7PMOdmbmZllzsnezMwsc072ZmZmmXOyNzMzy5yTvZmZWeac7M3M\nzDLnZG9mZpY5J3szM7PMOdmbmZllzsnezMwsc072ZmZmmXOyNzMzy5yTvZmZWeac7M3MzDLnZG9m\nZpY5J3szM7PMOdmbmZllzsnezMwsc072ZmZmmXOyNzMzy5yTvZmZWeac7M3MzDLnZG9mZpa50pK9\npJskPSNpbZ36Nkl3SlotaZmkD9TUbZK0RtJKScvLaqOZmdlIUOae/feBM/qovxRYGRHHA+cBV/eo\nnx0RMyOivaT2mZmZjQilJfuIeADY3scixwD3pWXXA9MkTSmrPWZmZiNVI8/ZrwJ+H0DSycARwNRU\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3f2f63fad0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "N = len(dim)\n",
    "fig, ax = subplots(1)\n",
    "ax.plot(dim, Rs[:,0],'b-', label=\"Testing\")\n",
    "ax.plot(dim, R_dir[0]*np.ones(N),'r-', label=\"Testing: baseline\")\n",
    "ax.plot(dim, Rs[:,2],'g-', label=\"Training\")\n",
    "ax.plot(dim, R_dir[2]*np.ones(N),'y-', label=\"Training: baseline\")\n",
    "\n",
    "ax.scatter(dim, Rs[:,0])\n",
    "ax.scatter(dim, Rs[:,2])\n",
    "\n",
    "\n",
    "ax.set_xlabel('Intrinsic Dim')\n",
    "ax.set_ylabel('Cross Entropy Loss')\n",
    "ax.set_title('Cross Entropy  Loss')\n",
    "ax.legend()\n",
    "ax.grid()\n",
    "# ax.set_ylim([-0.1,3.1])\n",
    "fig.set_size_inches(8, 5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The above figure show that updating in the intrinsic space can prevent overfitting.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfsAAAFNCAYAAAAHGMa6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNXZwPHfk8lkgYQkbAGSsMkiKBgWQXADRcENFBRR\nS93RV6lbtYq1ilhb1LdWrfoqtVhrF6oFERWKoMYFFAFBERAEBJJAkC2EQJZJ8rx/3BsYQpYJMkxm\neL6fz/1k7v6cofWZe86554iqYowxxpjIFRXqAIwxxhgTXJbsjTHGmAhnyd4YY4yJcJbsjTHGmAhn\nyd4YY4yJcJbsjTHGmAhnyd6Yo0REJorI34N4/ZUiMsj9LCLyqojsFpEvReRMEVkThHu2FZFCEfEc\n7WsbY44dS/bG1IOIXC0iS9wEuFVE5ojIGcfi3qp6kqpmuatnAOcB6araT1U/VdWuP/UeIrJRRIb4\n3XOzqiaoavlPvXaA909wv9s5x+J+xhwvLNkbEyARuQd4BvgdkAq0BV4ERoQgnHbARlXdF4J7B9Mo\noAQ4T0RaHcsbi0j0sbyfMceSJXtjAiAiScAk4HZVnaGq+1TVp6rvqOp9NZzzpojkicgeEflERE7y\n23ehiKwSkb0ikisi97rbm4vIuyKSLyK7RORTEYly920UkSEiciPwCjDAfQp+VEQGiUiO3/UzRGSG\niGwXkZ0i8ry7/QQR+dDdtkNE/iEiye6+13F+wLzjXvdXItJeRLQyEYpIGxGZ5ca2TkRu9rvnRBF5\nQ0T+5pZrpYj0redXfS3wEvAN8LMq32e1ZXL33Swiq937rhKR3u52FZFOfsf9VUR+634eJCI5InK/\niOQBr4pIivv9b3ebSN4VkXS/85u6zSdb3P0z3e3fisglfsd53e+3Vz3Lb0xQWLI3JjADgDjgrXqc\nMwfoDLQEvgL+4bfvL8AtqpoInAx86G7/JZADtMCpPXgQOGRMa1X9C3Ar8Llbxf6I/363ff1dYBPQ\nHkgDplXuBn4PtAG6ARnARPe6Y4HNwCXudZ+spkzT3PjaAJcDvxORc/z2D3ePSQZmAc8fdoUaiEg7\nYBDO9/QP4OeBlElErnDL8HOgiRvDzgBv2wpoilNTMg7nv4mvuuttgaIqZXgdaASchPPv+kd3+984\n9MfJhcBWVV0WYBzGBJVVWxkTmGbADlUtC/QEVZ1a+VlEJgK7RSRJVfcAPqC7iHytqruB3e6hPqA1\n0E5V1wGfHkGs/XCS8X1+8X7mxrQOWOdu2y4iTwOPHH6Jw4lIBnA6cJGqFgPLReQVnCRb+WPlM1Wd\n7R7/OnBXPeIeC3yjqqtEZA/wpIj0chNmjWUCbgKeVNXF7vo6AlcBPKKqJe56ETC9cqeIPA585H5u\nDVwANHP/zQA+dv/+HfiNiDRR1QK3LK/XIw5jgsqe7I0JzE6geaDtuiLiEZHJIrJeRAqAje6u5u7f\nUThPf5tE5GMRGeBufwonWb0vIhtE5IEjiDUD2FTdDxMRSRWRaW7TQQFOkmp+2BWq1wbYpap7/bZt\nwnnKrpTn93k/EFePtvCf49Z+qGouTiK91t1XY5ncfesDvEdV290fLgCISCMReVlENrnfzydAsluz\nkIFT/t1VL6KqW4AFwCi3WeQCDq3JMSakLNkbE5jPcTqOXRrg8VfjdNwbAiThVD2DU42Oqi5W1RE4\nVcEzgTfc7XtV9Zeq2hGnOvoeETm3nrFmA21rSLK/w2kW6KGqTXCqnsVvf23TYG4BmopIot+2tkBu\nPeM7jIgMxGnymCBOP4c8oD9wtVuO2sqUDZxQw6X341S7V6ra6a9qeX8JdAX6u9/PWZUhuvdpWtnH\noRqv4XyfV+A0sfzk78WYo8WSvTEBcKveHwZeEJFL3SdAr4hcICLVtW0n4vw42ImTbH5XuUNEYkTk\nGrdK3wcU4FQnIyIXi0gnERFgD1Beua8evgS2ApNFpLGIxInI6X5xFQJ7RCQNqNq5cBvQsYbvIBtY\nCPzevWZP4Eac2oGf6lpgHtAdyHSXk4F4nKfk2sr0CnCviPQRRye3/R9gOc4PBo+IDAPOriOORJyq\n/HwRaYpfE4eqbsXph/Gi25HPKyJn+Z07E+gN3InThm9Mg2HJ3pgAqeofgHuAh4DtOE9643H+I1/V\n33CquHOBVcAXVfaPBTa6VcW3Ate42zsD83ES8ufAi6r6UT3jLAcuATrhdLjLAa50dz+Kk5D2AO8B\nM6qc/nvgIXHeBri3mstfhVNLsQWns+Ijqjq/PvFVJSJxwGjgT6qa57f8gNPufW1tZVLVN4HHgX8C\ne3H+PZq6l7/TPS8f5zuu7t/K3zM4PzB24Pyb/bfK/rE4/Sq+A37Er0+Cqla293fg8O/VmJAS1dpq\n7YwxxgRKRB4Guqjqz+o82JhjyHrjG2PMUeBW+9+I8/RvTINi1fjGGPMTiTO4UDYwR1U/CXU8xlRl\n1fjGGGNMhAvqk72IDBORNeIMq3nY+8Iicp07LOVyd7nJb1+53/ZZwYzTGGOMiWRBe7J3B6FYizMz\nVw6wGLhKVVf5HXMd0FdVx1dzfqGqJgQlOGOMMeY4EswOev2Adaq6AUBEpuEMMrKq1rOOUPPmzbV9\n+/bBuDQA+/bto3HjxkG7fqhEYrmsTOHByhQerEwN29KlS3eoaou6jgtmsk/D6bBSKQdnRKyqRrkD\nU6wF7nYH7gBnmM0lQBkwWVVrfT+2ffv2LFmy5CiEXb2srCwGDRoUtOuHSiSWy8oUHqxM4cHK1LCJ\nyKaAjgtiNf7lwDBVvcldH4szBOV4v2OaAYWqWiIitwBXquo57r40Vc0VkY44k2ycq6rrq9xjHM5M\nVaSmpvaZNm0awVJYWEhCQuS1KkRiuaxM4cHKFB6sTA3b4MGDl6pqnVNJB/PJPhdn4ohK6VQZQ1tV\n/aehfAV40m9frvt3g4hkAb2oMtmFqk4BpgD07dtXg/lLLZJ+CfqLxHJZmcKDlSk8WJkiQzB74y8G\nOotIBxGJAcbgzG99gDtlZKXhwGp3e4qIxLqfm+NMqxmUtn5jjDEm0gXtyV5Vy0RkPDAX8ABTVXWl\niEwClqjqLOAOERmO0y6/C7jOPb0b8LKIVOD8IJns34vfGGOMMYEL6nC5qjobmF1l28N+nycAE6o5\nbyHQI5ixGWOMMccLGy7XGGOMiXCW7I0xxpgIZ8neGGOMiXCW7I0xxpgIZ/PZB+j5dc8zcePEUIdx\n1OXn55O8MTnUYRxVVqbwYGUKD1amnyazVSbPDHvmmNyrNvZkb4wxxkQ4e7IP0PhO4yNyxKVIHEnK\nyhQerEzhwcoUGezJ3hhjjIlwluyNMcaYCGfJ3hhjjIlwluyNMcaYCGcd9AL0/POdmDgx1FEcffn5\nmSRH1ls1VqYwYWUKD1amnyYzE54J/Zt39mRvjDHGRDp7sg/Q+PHrGDQoPdRhHHVZWcsj7hUUK1N4\nsDKFBytTZLAne2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OM\nMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIlxQk72IDBORNSKyTkQeqGb/dSKyXUSWu8tNfvuuFZHv\n3eXaYMZpjDHGRLKgjY0vIh7gBeA8IAdYLCKzVHVVlUP/rarjq5zbFHgE6AsosNQ9d3ew4jXGGGMi\nVTCf7PsB61R1g6qWAtOAEQGeOxSYp6q73AQ/DxgWpDiNMcaYiBbMZJ8GZPut57jbqholIt+IyH9E\nJKOe5xpjjDGmDqGe4vYd4F+qWiIitwCvAecEerKIjAPGAaSmppKVlRWUIAEKCwuDev1QicRyWZnC\ng5UpPFiZIkMwk30ukOG3nu5uO0BVd/qtvgI86XfuoCrnZlW9gapOAaYA9O3bV4M5P3FWVlZEzn8c\nieWyMoUHK1N4sDJFhmBW4y8GOotIBxGJAcYAs/wPEJHWfqvDgdXu57nA+SKSIiIpwPnuNmOMMcbU\nU9Ce7FW1TETG4yRpDzBVVVeKyCRgiarOAu4QkeFAGbALuM49d5eIPIbzgwFgkqruClasxhhjTCQL\napu9qs4GZlfZ9rDf5wnAhBrOnQpMDWZ8xhhjzPHARtAzxhhjIpwle2OMMSbCWbI3xhhjIpwle2OM\nMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwl\ne2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhj\nIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xhhjIpwle2OMMSbCWbI3xpifaOayXE6f/CErcvdw\n+uQPmbksN9QhGXOIoCZ7ERkmImtEZJ2IPFDLcaNEREWkr7veXkSKRGS5u7wUzDiNMeZIzVyWyyfT\nX+LprQ/TOv9H/lF4K5+99aIlfNOgRAfrwiLiAV4AzgNygMUiMktVV1U5LhG4E1hU5RLrVTUzWPEZ\nY0ygioth82bYtOnwZfk3cRSW3cofEy+F6BIo/zvJ3n389c11/G+X/aQ2jyG1hZc2Lb20TvXSppWX\n9NYxZLSJJilJEAl16czxIGjJHugHrFPVDQAiMg0YAayqctxjwBPAfUGMxRhjarRnT/WJfOOmCjb+\nuIPtJdmQlA1NcqBJNpKUQ0yLbGRADqVnZ1PhKTvkevnu3wX+G/e6yzq/beXRiHqJ0hg84iVavHg9\nXmI9McR4vcR5vcTHeGkU6yXWG4M3ytnvjfIS44k58Pmw9eqO8bjrteyvbltuUS6b8jdVuz86Khqx\nXyvV++YN+GAS7MmBpHQ492HoOTpk4QQz2acB2X7rOUB//wNEpDeQoarviUjVZN9BRJYBBcBDqvpp\nEGM1xkQoVdi+vbpErqzfup3N+TkURrmJ3E3okpxNdNscyrrloFGlh1zPG+UlvUk6GUkZpDcZQPo3\nW8jQaNIR1qb/nO45f8MHFAPlI6fgK/dRWu5jT2EpO/N97N7jI3+vj/y9pRQU+ijY56Nwv499xaXs\nK/ax3+eDKB94fOApPfA5OtaHN64Ib2wBHq+PKK8PiS5FPD40ykeF+KjAh6+iFF+FD1+5D0WPzpf4\nZc27oqOi6/wRUXV/jT886vlD5EjPKSwrZL9vf/B+sHzzBrxzB/iKnPU92c46hCzhi+pR+h9D1QuL\nXA4MU9Wb3PWxQH9VHe+uRwEfAtep6kYRyQLuVdUlIhILJKjqThHpA8wETlLVgir3GAeMA0hNTe0z\nbdq0oJQFoLCwkISEhKBdP1QisVxWpvBwtMpUXg47dsSybVucu8SyNS+W3N37yNu/g52+HylrlHtY\nMicxF/WUHHItD9E087YgNb4FLeNa0CK2BS1jW9IitsWBJdmbTJQc7O5UkbeSKPU5ZYptQ0LJFme7\neIlqdVK9y+PzCfn5Meza5Sw7dx787L/s3BlDaannsPOjoyto2rSUpk1LSWlaRFLTQpKb7Sep6X6a\nJBeRmLyPJslFNG5SRFS0D5/6KNdyyirKKFN38fu8r2gfnhgPZVrmHFdlf1mFs92nPueYCucYn/oO\nfK56TuV1fBW+Oq95LERLNNESjUc8REdF4xXvgc+V+yo/e8SDV5wfCR7xHLY/WqLxFO/BixCNh/Oa\n9KV9bCvnRp4YaNn9qMY+ePDgparat84yHtW7HioXyPBbT3e3VUoETgay3F9VrYBZIjJcVZcAJQCq\nulRE1gNdgCX+N1DVKcAUgL59++qgQYOCUxIgKyuLYF4/VCKxXFam8BBomYqLITv70Cfytdk7Wfdj\nNtkFOewozUYTner1Awm9V47Tfu4nWry0jE+jbXI6HZr2d57Om2T4PaWn07Jxy0MSeUC++ZGyt39B\ndHkxWV0fZdCaRyjzxBE94k/Qs+7yHSlV2LsX8vJg61bnr7NEsXVrHHl5ceTlNWHD+lR+/NE5vqqk\nJGjVyllatz74Oc1vff36BYwYcTpRIXh3S1WdpF/uw1fho7S89MDnmraVlpfWut9X4WPVmlW069Cu\n9nP81ms6pri8+OD+Ur/9+7bjA0qBK3ctZBBet0QCo/NrKXHwBDPZLwY6i0gHnCQ/Bri6cqeq7gGa\nV65XebJvAexS1XIR6Qh0BjYEMVZjTIgUFPgl8o3Kms27WJOXzabdOeTtz6ZADraVO39zoH0xtD94\njSiiaRGbRlpiOic0P5V2KZcdSOCVCT01IbX+iTwQPUc7/yH9YJKznpRB9DFonxWBJk2cpUuX2o8t\nK3OaMg7+IKj6AwGWLHH+FhZWPft0PB5ITT34Y6DqjwP/bY0bH80yyoGn5njij9p1s/ZnMeiMQUft\neof548lO1X1VSenBu2cdgpbsVbVMRMYDcwEPMFVVV4rIJGCJqs6q5fSzgEki4gMqgFtVdVewYjXG\nBIcq7NhxMJGv3rSL1bk5rN+ezYYd69n71DxKYnL8Or/lQOMiOOHgNaLwkOJJo3XjDNo37UOX1Etp\nm5x+SDJv2bglnqjDq7SPmZ6jnSUrC676NnRx1CA62knErVvXfWxhIWzbdvAHwaeffk9iYudDfiQs\nX+4cU15++PkJCTX/IPBfb9HCiSsinfvwoW32AN54Z3uIBPWrVtXZwOwq26otraoO8vs8HZgezNiM\nMT9deTls2eIk8lU/7GZldg7fb8tmc34O24qzya/IobyxX092bxEk4SydQNRDclQbWsZlkJHUi84t\nh9OlVTptkw5Wr6c2Tg1tIj/OJCQ4ywnuD67mzXMZNKjzYcdVVMDOnYfXEPivr1gB8+ZBfjU11yJO\nwq/tB0Hl0qQJ4fWKYmWtznHSG98YE+ZKSmDzZmXlhnyWb8hmzdYcNu7KZsu+HHaWZbPfk4Mmuok8\nZr9zUjN30SgStA3NvRm0ScykY7NLOLFNOl1SM2iblMHmlZsZed5IS+RhKirKSdYtWkDPnrUfW1R0\nsLaguiaEvDxYtcr566umT158fO0/CCrXW7aEmJjglLfeKmt7GghL9sYcxwoKlG/X7WHZ+mxW5eSw\nbns2OQU5bC/JZg85lMZVJvJ9zgkeoAXQPIr4sta08WTQqtEptE2+iC6tMji5bTqdWjhP5a0SWhEd\nVfN/YorWFVmiP07Ex0P79s5SG1XYvbv6HwSV62vXwiefOLUK1WnWrO4mhIKCaFTDrLbgJ7Jkb0yE\nqqhQNm4tYPHabL7ZlM33eTlsys8mb38Ou8qz2R+dQ0VC9sFEDhALNIsi1teaJNJpEduD9CYXcELz\nDLqnp3NK+wzaN02ndWLrWhO5MUdCBJo2dZbudbyhVlp6aG1BdT8QFixwthUXVz37DGJiqu9gWHU9\nNRXi4upflpnLcnlq7hq25BfRJjme+4Z25dJeafW/0FFi/281Jkzt2reHZRtyWL4hm++25LBhRza5\nhc6raHslh9L4bIip0rU6ToimNQnl6bSPPonW8UPp0DSDrm0y6NnOSeZtmrTC6/FWf1NjGoiYGMjI\ncJbaqDpvfPj/IPjss3UkJHQ6sL5xI3zxhfPGQnWvKCYnB9bpsFkzp3lj5rJcJsxYQZHP6cGYm1/E\nhBkrAEKW8C3ZG9MAFZQUsGFHDsvWZ7MyO4fPVy1jf9br/FiUQ75mU+TNQWP2HnqSClHaijjNoLl0\nI1XPJyMunc4tMzgpI50+nTM4Ma01MdGWyM3xQ8QZTyApCbp2dba1apXDoEGdDju28hXF2jodLl7s\nrO/bd9jpB15R3COJVMT1wtO4hIRem4htVUCRr5yn5q5puMleRJqpag2tI8Ych37imNd7S/aSXZDN\n99ty+HpjNmu35vDDrmy2up3e9kXlUO4tOPQkr0BhKt6iDBL1RNJjziMtKp2OzTI4MS2dzA4Z9OnS\nmpQmDaV3kjHhp76vKNb0g+BfWcWUF8ZRui2JRiduPXDOlvyiWq4YXIE82X8hIsuBV4E5GqzxdY0J\nB9+8cWC0NAD2ZDvrAD1HU1haSPaebLL35LB6S/aBd8pzCnLYXup0eivz7Dn8uoWpSEEGjcq60Npz\nLq0aZdAuxem53qNdOr5d2Yy54syG09PYmONcQgJ06uQsVX03+Vtyq0nsbZKP3sBA9RVIsu8CDAFu\nAJ4TkTeAv6rq2qBGZkwDtH/Ow3jLi3hfy3m/NJ7vy+LYVAFb/3En+dPHURpVfSKnIB3Pvs4kMZgW\nsRmkJzm91runpZN5QhqdOsTQqhU1DkmalbXREr0xYeK+oV0PabMHiPd6uG9o15DFVGeyd5/k5wHz\nRGQw8HfgNhH5GnhAVT8PcozGhFyRr4h/fTmPv+TCksQKSmP2Q9x+KGwJhelQkEFsaTptojNo0zid\n9k0z6NomnZ7t0ujcMZZ27SAl5fh61ceY41Vlu3xY9cYXkWbAz4CxwDbgF8AsIBN4E+gQzACNCZWc\n7Xt5dvZsZq6Zwfqo91DvPmiUTNzaiziroC2XxpRwYpNc2iVn42m3nq6TZ4Y6ZGNMA3Fpr7SQJveq\nAqnG/xx4HbhUVXP8ti8RkZeCE5Yxx15pKcz7bBd//vgdPtkxnd1N33dmTitrSUbhNVzQfhS6/Tv+\n2O0xGvvNcb5fY3jSexsTQxe6McbUKpBk37WmTnmq+sRRjseYY0YVVq6EGe/n8cY3M1ktM6jI+Ag8\nZcQkZtAv6lauyRzJTeefTqN4Z6S3mctO4pG3tnFXxTTayE62aDOeYQxnXDQuxKUxxpiaBZLs3xeR\nK1Q1H0BEUoBpqjo0uKEZc/Tl5sL8+fDWR5v4cMtb7E2fDm0XQAclqawT57T6JePPGcXgrn2RahrY\nnWq527hy7rkNpi3OGGPqEkiyb1GZ6AFUdbeItAxiTMYcNQUFzqyj8+fDe1+sZUPsdOg2AzosgQ6Q\n7u3BFSc9wvWnjeTklidXm+CramhtccYYU5dAkn25iLRV1c0AItIOsHftTYPk88E33yTx0Ucwb76y\naOM3VHSdjnSfgV60EoCTU/pxTa/JjOo+ks7NDp+60xhjIk0gyf7XwGci8jEgwJmANVCaBqGy3X3+\nfGfJ+riCfckl0P1XxJ4+g4rz1xNFFKdnnMnlJz3LZSdeRkZSHYNpG2NMhAnkPfv/ikhv4DR3012q\nuiO4YRlTs8p298ol78cyaPsZyQOmw91vgSeX6KhoBnU4l1Hd7mfEiSNo2dhanowxx69AJ8IpB34E\n4oDuIoKqfhK8sIw5qKAAPv4Y5s1zkvvq1YCnlCaZH9BizAwSms6ksGIHxdFxDOs0jG78nPuG30dK\nfEqoQzfGmAYhkEF1bgLuBNKB5ThP+J8D5wQ3NHO88vlg0aKDyX3RIigvh7jE/XS7eC69r5nOWt6l\noGwPFTEJXNzlYkZ1G8WwTsNIiEkgKyvLEr0xxvgJ5Mn+TuBU4AtVHSwiJwK/C25Y5niiCqtWOYl9\n3jznKb6w0BknvteAAi6e8C67W81gyZ45LPPtp6m3KVd0HcnIbiMZ0nEIcdFxoS6CMcY0aIEk+2JV\nLRYRRCRWVb8TkdCN5m8iQm4ufPDBwXb3re4skJ07wxXX7qBRr1msjZ7Ox9nzWVpeSuvi1lx3ynWM\n7DaSs9qdhddjc7IbY0ygAkn2OSKSDMzEmQxnN7ApuGGZSFPZ7l6Z3Fetcra3aAHnngt9B+eyv+1M\nsn6cwd82fkx5Tjntktox/tTxjOo+itPSTyNKapgSzhhjTK0C6Y1/mftxooh8BCQB/w1qVCbsVba7\nVyb3L75w2t3j4+Gss+D666H7wB9YqdN567sZTMv5HLbCic1P5IEzHmBkt5H0atUroEFujDHG1K7W\nZC8iHmClqp4IoKofH5OoTNhRdXrJV3aqy8o62O7ety/cfz8MGQIpXVbx7voZ/HP1DJbNWwZAr1a9\neGzwY4zqNopuLbqFtiDGGBOBak32qlouImv8R9CrDxEZBjwLeIBXVHVyDceNAv4DnKqqS9xtE4Ab\ncV77u0NV59b3/ia4tmw59H13/3b3sWOd5D5okLKxZBnTV03ntlUz+O6T7wAYkD6A/z3vf7ms22V0\nTOkYwlIYY0zkC6TNPgVYKSJfAvsqN6rq8NpOcmsFXgDOA3KAxSIyS1VXVTkuEafH/yK/bd2BMcBJ\nQBtgvoh0UdXygEplgmLv3kPfd69sd2/e3EnslUtG2wo+z/6cGatn8MvXZ7AxfyMe8XB2+7MZf+p4\nLut2GW0S24S2MMYYcxwJJNn/5giv3Q9Yp6obAERkGjACWFXluMeAJ4D7/LaNwJlZrwT4QUTWudf7\n/AhjMUfA54Mvvzz4StyiRVBWdmi7+5Ah0LMnlKuPTzZ9whPfTuet/7xFXmEe3igv551wHr856zcM\n7zqc5o2ah7pIxhhzXAqkg96RttOnAdl+6zlAf/8D3GF4M1T1PRG5r8q5X1Q516YZO4pmLsvlqblr\nGJOxl19P/pD7hnZlRGYaq1f7jTOf5TzNizjt7r/6lZPcBwyAuDgoKSth3oZ5PPfODN5e8za7inbR\nyNuICzpdwMhuI7mo80UkxSWFuqjGGHPcC2QEvb0cnOUuBvAC+1S1yU+5sYhEAU8D1/2Ea4zDnZQn\nNTWVrKysnxJSrQoLC4N6/WMpv8hH7u4ixmQo3qI4Om5K4vd3VnDjqmJ27XQGqElL28/gwbvp02c3\nmZn5NGlSBkBReRFPvPMln2z/hC92fcH+8v009jRmYLOBnNnxTE5NOZU4TxzshGU7l4WkfJH0b1XJ\nyhQerEzhIRLLVJdAnuwTKz+L8x7UCA5OilObXMB/erF0d1ulROBkIMt9vaoVMEtEhgdwbmVsU4Ap\nAH379tVBgwYFENaRycrKIpjXP5ZOn/whmzY3ZvuMvpRuc568o+JLSOmcz58nxzFkCLRv3whoBKSR\nX5zPO2veYfrq6cxdP5fismKaN2rO1T2vZlT3UZzT4RxiPDEhLZO/SPq3qmRlCg9WpvAQiWWqS6AT\n4QCgqgrMFJFHgAfqOHwx0FlEOuAk6jHA1X7X2gMcaMQVkSzgXlVdIiJFwD9F5GmcDnqdgS/rE6up\nWe7uInbO6YdvV2OGj1nJ4rhdeFsWECVw000XAfDjvh+Z+d1MZqyewQc/fEBZRRlpiWnc3PtmRnYb\nyRltzyCiUnsxAAAgAElEQVQ6ql7/8zHGGBMigVTjj/RbjQL6AsV1naeqZSIyHpiL8+rdVFVdKSKT\ngCWqOquWc1eKyBs4nfnKgNutJ/7RE72uI8UbW/D4Bb9h4CXN6PTdn3iybDQLE0/huUXPMX31dD7b\n/BkVWkHHlI7cfdrdjOo2ilPTTrVR7IwxJgwF8mh2id/nMmAjTlV+nVR1NjC7yraHazh2UJX1x4HH\nA7mPCVx2NuTNOYGz2n3GA6f+iX/5bmdRVC6fx/wvS0vLWPpfOKnFSTx05kOM7DaSnqk9bRQ7Y4wJ\nc4G02V9/LAIxwacK48aBlpfxu0tvpp/sZenG34FAX43i97EtueymT+ja3OY5MsaYSFJnnayIvOZO\nhFO5niIiU4MblgmGv/4V/vtfmHzuwzyW/D2rqeD2FpeyURNYTAIPFJdYojfGmAgUSANsT1XNr1xR\n1d1Ar+CFZIIhJwfuvtsZDCf2rH8xV8p5kjguTzmbdpX/M0hKD22QxhhjgiKQZB8lIimVKyLSlHr2\n4jehpQq33AKlpfDYc5u4t3w3g8XL/+A3J7w3Hs6ttjuFMcaYMBdI0v4D8LmIvOmuX4F1nAsrr78O\ns2fD03+s4NGvb0CjPEw950mivnjJOSApw0n0PUeHNlBjjDFBEUgHvb+JyBLgHHfTyKqT2ZiGa8sW\nuPNOOOMMiBn4Mh/O+ZCXL36Z9n3GwYDxzpi4V30b6jCNMcYEUSDv2Z+GM6f98+56ExHpr6qL6jjV\nhFhl9X1xMUx8bgMj5tzH+Secz829bw51aMYYY46hQNrs/w8o9FsvdLeZBu4f/4B334XfPl7BpK+v\nxxPl4ZVLXrH35o0x5jgTSLIXd5hcAFS1Auug1+Bt3Qp33AEDB4JnwPN8sukTnhn6DBlJGXWfbIwx\nJqIEkuw3iMgdIuJ1lzuBDcEOzBw5Vfif/4GiInj42e958MMHuLDzhVyXeV2oQzPGGBMCgST7W4GB\nOJPZVM5Jb42+Ddi0afD22/DopHImfXMdsdGx/PmSP1v1vTHGHKcC6Y3/I86MdQeIyKnA9mAFZY7c\ntm0wfjycdhrIwGdYOH8hr1/2Om0S24Q6NGOMMSEScNu7iHQHrnKXfJzZ70wDogq33Qb79sFDz3zH\nqHm/ZkTXEVzT45pQh2aMMSaEak32ItKegwneB7QD+qrqxmAHZurvzTdhxgz43eQyJq24lsYxjXnp\n4pes+t4YY45zNbbZi8jnwHs4PwhGqWofYK8l+obpxx/h9tuhXz/QAf/Ll7lf8sKFL9AqoVWoQzPG\nGBNitXXQ2wYkAqlAC3eb1ny4CaXx46GgAB585lse/eQRLu9+OVeedGWowzLGGNMA1JjsVfVSoAew\nFJgoIj8AKSLS71gFZwLz5pvO8ptHfDy24jqSYpN48cIXrfreGGMMUEebvaruAV4FXhWRlsBo4I8i\n0lZVbXSWBmD7dqf6vk8fKB8wmaWfLOU/V/yHFo1b1H2yMcaY40LAvfHdV/CeB54XkXbBC8nUxx13\nQH4+vDhjOVd9NImrTr6KUd1HhTosY4wxDUggg+ocRlU3He1ATP3NmOEMoPPrh0v57bfX0Sy+GX+6\n4E+hDssYY0wDc0TJ3oTezp3OkLi9eoFvwON8ve1rXr74ZZo1ahbq0IwxxjQwNqFNmLrjDti1C559\nYyk/+/hxxvYcy4gTR4Q6LGOMMQ1QIPPZt8AZC7+9//GqekPwwjK1eftt+Oc/4TcTS/jtymtJTUjl\n2WHPhjosY4wxDVQgT/ZvA58C84Hy4IZj6rJrF9x6K2RmQsnAR1m5cCXvXf0eKfEpoQ7NGGNMAxVI\nsm+kqvcHPRITkLvugh074Ml/LOK6z57ghswbuLDzhaEOyxhjTAMWSAe9d0XkiLKJiAwTkTUisk5E\nHqhm/60iskJElovIZ+5kO4hIexEpcrcvF5GXjuT+keadd+D11+FXvy7id6uvIy0xjaeHPh3qsIwx\nxjRwgTzZ3wk8KCKlOJPhAKiqNqntJBHxAC8A5wE5wGIRmaWqq/wO+6eqvuQePxx4Ghjm7luvqpmB\nFyWy7d4Nt9wCPXtC0WkP892i73j/Z++TFJcU6tCMMcY0cIHMZ594hNfuB6xT1Q0AIjINGAEcSPaq\nWuB3fGNs7P0a3XOPM9nN439byI0L/sAtfW7hvBPOC3VYxhhjwoCo1p1f3afus9zVLFV9N4BzLgeG\nqepN7vpYoL+qjq9y3O3APUAMcI6qfu9OrbsSWAsUAA+p6qfV3GMcMA4gNTW1z7Rp0+osy5EqLCwk\nISEhaNevzRdfNGXChJ5c9fPVfHrS+ZRpGX/p8xcaRTf6ydcOZbmCxcoUHqxM4cHK1LANHjx4qar2\nrfNAVa11ASYDHwA3uMs84PcBnHc58Irf+ljg+VqOvxp4zf0cCzRzP/cBsoEmtd2vT58+GkwfffRR\nUK9fk927VdPSVE8+WXX8u3cqE9EPN3x41K4fqnIFk5UpPFiZwoOVqWEDlmgd+VhVA2qzvxDIVNUK\nABF5DVgGTKjjvFzAf7KcdHdbTaYB/wegqiVAift5qYisB7oASwKIN6L88peQlwe/+cvH3PrFs4w/\ndTyDOwwOdVjGGGPCSKDD5Sb7fQ60R9hioLOIdBCRGGAMMMv/ABHp7Ld6EfC9u72F28EPEekIdAY2\nBHjfiDF3LkydCnf9qpAnvruejikdmTxkcqjDMsYYE2YCebL/PbBMRD4CBKft/rDX6KpS1TIRGQ/M\nBTzAVFVdKSKTcKodZgHjRWQITi//3cC17ulnAZNExAdUALeq6q56li2kZi7L5am5a9iSX0Sb5Hju\nG9qVS3ulBXz+nj1w003QvTsUDrifjV9t5OPrPqZxTOMgRm2MMSYSBdIb/18ikgWc6m66X1XzArm4\nqs4GZlfZ9rDf5ztrOG86MD2QezREM5flMmHGCop8zoCDuflFTJixAiDghH/ffbBlCzzw8geMX/wi\nd592N2e2OzNoMRtjjIlcNSZ7ETlRVb8Tkd7uphz3bxsRaaOqXwU/vPD01Nw17C8tZ9e8k6koicab\nso99TffxyO4tDH48jaQaGkIqawPWL2vMtjf6c/H1uTy59ga6NOvCb8/57bEthDHGmIhR25P9PTiv\ntf2hmn0KnBOUiCLAlvwiynY3onBZO6LiStlf3AYQdgDJL0DLltC5s7N06eL8zSnfxv8tW0lRSQU7\n/nsa0U0L+TTtZvbuyeGzGz6jkfenv2ZnjDHm+FRjslfVce7HC1S12H+fiMQFNaow1yY5njUrmgKQ\nevXneFP249vdiCalKdzQoyfffw9r1zod8P7618qzUoHzkVgfWhpNys1/ZHf0HNp4RjMgY0CISmKM\nMSYSBNJBbyHQO4BtxnXf0K48/MYWyuL2sDltBHk045lGYzjjstu4tNehx+7dC+vWwdCJX3FC/nbS\n8/fRr918nm49hZSKZkQXjQlNIYwxxkSM2trsWwFpQLyI9MLpiQ/QBLA65Vpc6lnAr3N6MjB9EdFR\nSjo7mOx5hWjPKcDoQ45NTIReveC2U9/mV74XaSSl3EAR2ynnI8r4IGE5cFlIymGMMSYy1PZkPxS4\nDmcwHP+p1fYCDwYxprC3a9YzrNq+gIRLf84F7CMOIbZ8P7HvjiN203ziouOI9cQSGx1LrCeWuOg4\nEuQlXpdCtqO8Kj4e1BjOFKWP99/Ao6EukjHGmDBWW5v9a8BrIjLKfRXOBOjzVemQsoEv0xZzggqN\nEYqBktICSta+Q0lZCcVlxZSUl1DhDEzocOtOemsUDxMLQKOigN5yNMYYY2oUyHv200XkIuAkIM5v\n+6RgBhbOFvx4HlFtP6ECeItG9MDj7EjKgLu/PeTYsooyJ/n/qQ8le3MpBjIQvJWZPyn9mMZujDEm\n8tQ5XK6IvARcCfwC59nzCqBdkOMKawvyR9Cs62yaKHSv/Iq98XDuw4cdGx0VTeOYxjQ7bxJtvI3p\nSNTBRF/DOcYYY0x9BDI2/kBV/TmwW1UfBQbgTEpjqlFaCl+ubIme8C2nRTfGQ5TzRH/Jc9BzdM0n\n9hztHJOUAUhg5xhjjDEBCOTVuyL3734RaQPsBFoHL6TwtmwZFGsBJbFrGXDGb2DQxMBP7jnakrsx\nxpijLpBk/66IJANPAV/hjJ73SlCjCmMLFwJpX6JUMDBjYKjDMcYYYwLqoPeY+3G6iLwLxKnqnuCG\nFb4WLIDkHgvZg9A/rX+owzHGGGMC6qB3u/tkj6qWAFEiclvQIwtDqk6yj++ykJNbnkxSXA0z3hhj\njDHHUCAd9G5W1fzKFVXdDdwcvJDC1w8/QN62CnYnfG5V+MYYYxqMQJK9R0Qqh8pFRDxATPBCCl8L\nFgAtVlGsBZbsjTHGNBiBdND7L/BvEXnZXb/F3WaqWLAA4jp/TjFYsjfGGNNgBJLs78dJ8P/jrs/D\neuNXa8ECaHrWQkobNeeElBNCHY4xxhgDBNYbvwL4P3cxNcjPh5UroenlCzk9YyB+LR/GGGNMSNU2\nxe0bqjpaRFbgvFt/CFXtGdTIwswXX4DG72AnaxmYfkOowzHGGGMOqO3J/i7378XHIpBwt2ABRLX9\nnAqsvd4YY0zDUluyfxfoDfxWVcceo3jC1oIF0KLPQnZGRdO3Td9Qh2OMMcYcUFuyjxGRq4GBIjKy\n6k5VnRG8sMKLzweLFkHy3Qvp3bo38d74UIdkjDHGHFBbsr8VuAZIBi6psk8BS/aur7+G/cU+ymIW\nMzr9llCHY4wxxhyixmSvqp8Bn4nIElX9y5FcXESGAc8CHuAVVZ1cZf+twO1AOVAIjFPVVe6+CcCN\n7r47VHXukcRwLCxYALT6mlItsvZ6Y4wxDU5tvfHPUdUPgd1HUo3vjrT3AnAekAMsFpFZlcnc9U9V\nfck9fjjwNDBMRLoDY4CTgDbAfBHpoqrl9SvesbFwIaT0XMhuYEDGgFCHY4wxxhyitmr8s4EPObwK\nHwKrxu8HrFPVDQAiMg0YARxI9qpa4Hd8Yw6+4jcCmOZOvPODiKxzr/d5Hfc85ionv0m8ciEJTTJI\nb5Ie6pCMMcaYQ9RWjf+I+/f6I7x2GpDtt54DHDbnq4jcDtyDM97+OX7nflHl3LQjjCOoNm+G3FxI\nSV7I+VaFb4wxpgGqcwQ9EbkTeBXYC/wZ53W8B1T1/aMRgKq+ALzg9vx/CLg20HNFZBwwDiA1NZWs\nrKyjEVK1CgsLq73+/PktoUkiuyuyaVHcIqgxBENN5QpnVqbwYGUKD1amyBDI2Pg3qOqzIjIUaAaM\nBV4H6kr2uUCG33q6u60m0zg4JG9A56rqFGAKQN++fXXQoEF1hHTksrKyqO76b74JsZ3foAS49pxr\nw+4d+5rKFc6sTOHByhQerEyRIZApbisHeb8Q+JuqrvTbVpvFQGcR6SAiMTgd7mYdcmGRzn6rFwHf\nu59nAWNEJFZEOgCdgS8DuOcxt2ABtOz9OfHR8ZySekqowzHGGGMOE8iT/VIReR/oAEwQkUSgoq6T\nVLVMRMYDc3FevZuqqitFZBKwRFVnAeNFZAjgA3bjVuG7x72B05mvDLi9IfbELyiAFSug9aUL6ZfW\nD6/HG+qQjDHGmMMEkuxvBDKBDaq6X0SaAgF12lPV2cDsKtse9vt8Zy3nPg48Hsh9QmXRIqiIKiIv\n6ivGpt8b6nCMMcaYagVSjT8AWKOq+SLyM5xOdHuCG1Z4WLAAJH0J5Vpmg+kYY4xpsAJJ9v8H7BeR\nU4BfAuuBvwU1qjCxYAG0OnUhYIPpGGOMabgCSfZlqqo4A908774qlxjcsBq+sjJnDvvYTgvp0qwL\nzRs1D3VIxhhjTLUCSfZ73XHqfwa8JyJRwHHfE23FCigsVHY2WmhV+MYYYxq0QJL9lUAJcKOq5uG8\n8/5UUKMKAwsWAE3Xs7d8BwPTLdkbY4xpuOrsje8m+Kf91jdjbfYsWHBw8ht7sjfGGNOQ1flkLyKn\nichiESkUkVIRKReR4743fuVMd0mxSXRr0S3U4RhjjDE1CqQa/3ngKpzR7eKBm4AXgxlUQ5eT40yA\nU9RiIaeln0aUBPI1GmOMMaERUJZS1XWAR1XLVfVVYFhww2rYFiwAYveQV/6tVeEbY4xp8AIZQW+/\nO7b9chF5EthKgD8SItWCBRDbaRElqCV7Y4wxDV4gSXssztj244F9OLPRjQpmUA3dggXQut9CoiSK\nfmn9Qh2OMcYYU6tAeuNvcj8WAY8GN5yGbeayXCbPWsdXy84k9owPaZt4Ik1im4Q6LGOMMaZWNSZ7\nEVkBaE37VbVnUCJqoPKLfEz4YAW7vk8GlNKkr8jPH8TMZblc2ist1OEZY4wxNartyf7iYxZFGNi2\np5giXxQluSnQYiXq2Yen9ESemrvGkr0xxpgGrbZk7wVSVXWB/0YROR3IC2pUDVBpeQUQhW97IlFd\n51IBxFacyJb8olCHZowxxtSqtg56zwAF1WwvcPcdV2I8zldVXhgHbRcQpclEayvaJMeHODJjjDGm\ndrUl+1RVXVF1o7utfdAiaqBSk+KI93ooK4xDW31JbMWJNPJGc9/QrqEOzRhjjKlVbck+uZZ9x93j\nbHK8l9f6biKqYheauJF7o9byt1M3WXu9McaYBq+2ZL9ERG6uulFEbgKWBi+kBqpoNx0XPYuvzVcA\nDKWYU1c8At+8EeLAjDHGmNrV1kHvLuAtEbmGg8m9LxADXBbswBqcvVvJ3ZUCGQuJroiij3jAVwQf\nTIKeo0MdnTHGGFOjGpO9qm4DBorIYOBkd/N7qvrhMYmsoSkvJXdva0j9mg5ljYjzirN9T05o4zLG\nGGPqEMgIeh8BHx2DWBo2Twxb9raGju/Szb/1Iyk9dDEZY4wxATiuJ7Spl8TW/FDUCpI30cvjc7Z5\n4+Hch0MblzHGGFMHS/aBik/hu9SeIMpJUQJJGXDJc9Zeb4wxpsELarIXkWEiskZE1onIA9Xsv0dE\nVonINyLygYi089tXLiLL3WVWMOMMRH6Rj7k/OgMHPh7zLDMHzbVEb4wxJiwELdmLiAd4AbgA6A5c\nJSLdqxy2DOjrTqrzH+BJv31FqprpLsODFWcgZi7LpXD3dhrFfgUq/Kf4cT5760VmLssNZVjGGGNM\nQIL5ZN8PWKeqG1S1FJgGjPA/QFU/UtX97uoXQIPs7bb8vSm0YTsFCVtI3N+cTlG7mCRTWP7elFCH\nZowxxtQpmMk+Dcj2W89xt9XkRmCO33qciCwRkS9E5NJgBBiom0r/TpQopSk/0GJ/CwAaSSk3lf49\nlGEZY4wxAanz1btjQUR+hjNgz9l+m9upaq6IdAQ+FJEVqrq+ynnjgHEAqampZGVlBSfAbr+gMLYN\nmrwR754LyOp6cGDBdcG65zFSWFgYvO8tRKxM4cHKFB6sTJEhmMk+F8jwW093tx1CRIYAvwbOVtWS\nyu2qmuv+3SAiWUAv4JBkr6pTgCkAffv21UGDBh3dErj2P3ErX6TfCtHFNC/KY9CaR5zt8a1pdNV3\nQbnnsZKVlUWwvrdQsTKFBytTeLAyRYZgJvvFQGcR6YCT5McAV/sfICK9gJeBYar6o9/2FGC/qpaI\nSHPgdA7tvHdMNbpgEr5l28Djw+tuK/PE0eiCSaEKyRhzHPP5fOTk5FBcXBz0eyUlJbF69eqg3+dY\nCscyxcXFkZ6ejtfrrfvgagQt2atqmYiMB+YCHmCqqq4UkUnAElWdBTwFJABvigjAZrfnfTfgZRGp\nwOlXMFlVVwUr1jr1HI3v+7cAnGSflEH0uQ/bq3fGmJDIyckhMTGR9u3b4/63M2j27t1LYmJiUO9x\nrIVbmVSVnTt3kpOTQ4cOHY7oGkFts1fV2cDsKtse9vs8pIbzFgI9ghlbfRVHNwEgpssFcPdhQwYY\nY8wxU1xcfEwSvWkYRIRmzZqxffv2I76GjaAXoOLScgBiPEdWhWKMMUeTJfrjy0/997ZkH6DSsgoA\nYqIt2Rtjjm87d+4kMzOTzMxMWrVqRVpa2oH10tLSgK8zdepU8vLyDqxff/31rFmzJhghH/caxKt3\n4aCkzH2yt2RvjDnONWvWjOXLlwMwceJEEhISuPfee+t9nalTp9K7d29atWoFwKuvvnpU4zQH2ZN9\ngA4ke6vGN8aYGr322mv069ePzMxMbrvtNioqKigrK2Ps2LH06NGDk08+meeee45///vfLF++nCuv\nvPJAjcAZZ5zB8uXLKSsrIzk5mQceeIBTTjmFAQMG8OOPzgtb33//Pf3796dHjx78+te/Jjk5OcQl\nDg/2ZB+gErcaP9ae7I0xDchdd4H7kH3UZGbCM8/U/7xvv/2Wt956i4ULFxIdHc24ceOYNm0aJ5xw\nAjt27GDFihUA5Ofnk5yczJ/+9Ceef/55MjMzD7vWnj17OPvss5k8eTL33HMPU6dO5YEHHuAXv/gF\n9957L1dccQXPP//8Ty3qccOe7ANUWlYGQOwRvuNojDGRbv78+SxevJi+ffuSmZnJxx9/zPr16+nU\nqRNr1qzhjjvuYO7cuSQlJdV5rfj4eC644AIA+vTpw8aNGwFYtGgRo0aNAuDqq6+u6XRThT3ZB6iy\nGt+e7I0xDcmRPIEHi6pyww038Nhjjx2275tvvmHOnDm88MILTJ8+nSlTap9ILCYm5sBnj8dDmfvA\nZY6MPdkHyJ7sjTGmdkOGDOGNN95gx44dgNNrf/PmzWzfvh1V5YorrmDSpEl89dVXACQmJrJ37956\n3aNfv3689ZYzyNm0adOObgEimD3ZB8hX7rbZe2PqONIYY45PPXr04JFHHmHIkCFUVFTg9Xp56aWX\n8Hg83HjjjagqIsITTzwBOK/a3XTTTcTHx/Pll18GdI/nnnuOsWPH8uijjzJ06NCAmgSMJfuAVVbj\nx9uTvTHGHDBx4sRD1q+++upq29KXLVt22LbRo0czevTBYcc/++yzA5/z8/MPfB4zZgxjxowBID09\nnUWLFiEi/P3vf2fDhg0/tQjHBUv2ASott2p8Y4wJtcWLF3PXXXdRUVFBSkqKvZsfIEv2ASqrcKrx\n4yzZG2NMyAwaNOjAgD4mcNZBL0CVT/ZxMZbsjTHGhBdL9gEqrWyzt2RvjDEmzFiyD1BZhZPs7cne\nGGNMuLFkHyBfhVONb0/2xhhjwo0l+wAdSPaxluyNMce3cJviNj09/ZBX+Y6mykl7ALKzs7nyyiuD\ncp+fynrjB8jnVuM3irVBdYwxxzeb4rZ6GRkZ/Pvf/w51GNWyJ/sAlblP9o3syd4YY2rUUKe4/f3v\nf0+PHj3o378/P/zwAwBvv/02/fv3p1evXpx//vkH7vHhhx9yyimnkJmZSe/evdm3bx8AkydPpl+/\nfvTs2ZNJkyYddo9169YdmMHvlVde4fLLL2fo0KF07tyZCRMmHDhuzpw5DBgwgN69e3PllVceuH4w\n2ZN9gKwa3xjTENkUt47y8nL69+/PkiVLqo2tadOmrFixgqlTp/Lggw/y7rvvctZZZzF8+HBEhJde\neok//OEPPPHEEzz11FNMmTKF/v37U1hYSFxcHLNnz2bz5s0sWrQIVeXCCy9k4cKF9OvXr8bv4+uv\nv2bp0qV4vV66dOnCL37xC6Kjo5k8eTIffPABjRo14vHHH+fZZ5/lwQcfrP8XXg+W7ANUrpXV+Jbs\njTGmOv5T3AIUFRWRkZHB0KFDD0xxe9FFF3H++efXea2qU9x++umngDPF7ezZswFnaN6HHnoIcGbG\nqynRA1x11VUAXHPNNdx///0AbN68mdGjR5OXl0dJSQldunQB4PTTT+fOO+/kmmuuYdSoUSQkJPD+\n++8zZ84cevXqBUBhYSFr166tNdkPGTKEJk2aAHDiiSeyefNm8vLyWLVqFQMHDgQ4UKMRbJbsA1T5\nZG/D5RpjGhKb4jYwInLYtttvv50HH3yQCy+8kPnz5zN58mQAHnroIYYPH857773HaaedxgcffICq\n8tBDD3HjjTceco3a4oqNjT2sDKrKsGHDeP31139SeerL2uwDVPlk742yZG+MMdVpyFPcVnac+9e/\n/sVpp50GOE0FaWlpqCqvvfbagWPXr19Pz549mTBhAr1792bNmjUMHTqUv/zlLwfa13Nycg6Usz4G\nDhzIxx9/fGACn3379vH999/X+zr1ZU/2ASrTMlDBE+UJdSjGGNMghXKK27ra7Hfs2EHPnj2Jj4/n\nz3/+M//f3r1HV1XdCRz//hKIMRAhwBQYwigCIkEICdEqoAWhgG0BK4xkLS2UaulDqLbThc9xlNEO\nLTojts4oBVsfID54lKGDiGis6OJZGrAESEAsRBgQJwhIIDf5zR9nJ94k9+behNzcnOvvs9ZdOe+z\nf3cnd+ecs+/+gfdNgm9/+9t06tSJESNGcPjwYQAee+wx3n33XZKSkhg0aBBjxowhJSWF3bt31/yj\nkJ6ezpIlS6LuIFita9euLFq0iClTptR8TfEXv/gFffv2bdRxGktUNaYnaCl5eXna0POa83XZj++g\nuMtCdM7ZmJ0jHgoKChgxYkS8i9GsLCZ/sJiarqioiP79+8f8PAAnT54kPT29Rc4VjdOnT5OWllaT\n4nbFihUsW7asUcdobTFFK1S9i8g2Vc2LtG9Mb+OLyDgR2SMiJSJyT4j1PxORXSKyQ0TWi8jFQeum\niUixe02LZTmjEdAKpMpu4RtjTDxt2bKFnJwcBg0axG9/+1vmzZsX7yL5Qsxu44tIMvAU8HXgELBF\nRFap6q6gzbYDear6uYj8CPgVMEVEOgH/AuQBCmxz+/5frMobSSUBpMoG1DHGmHiyFLdNE8sr+6uA\nElXdr6rngKXAxOANVPVtVf3czW4EMt30WGCdqn7qGvh1wLgYljWiSq20K3tjjDG+FMvGvgdwMGj+\nkFsWzm3AmibuG3OVVCBqjb0xxhj/aRW98UXkVrxb9l9r5H4zgBng9XAsKCho/sI5gaoKqGwT03PE\nw6lTpywmH7CY/KGlYurQoUOjv7LWVJWVlS12rpbi15jKy8ub/PsVy8a+FOgZNJ/pltUiIqOB+4Gv\nqVWBw5gAABHgSURBVOrZoH1H1Nm3oO6+qroAWABeb/xY9oLVpU+SLCnWe9gHLCZ/sJiarqioqMV6\nk/u153pD/BpTampqzQh+jRXL2/hbgL4i0ktEUoB8YFXwBiKSAzwDTFDVo0Gr1gJjRCRDRDKAMW5Z\n3FQRIMlu4xtjTLOkuI0mne1TTz3F4sWLm6PIX3oxu7JX1YCIzMRrpJOBZ1X1ryIyB9iqqquAeUB7\n4FU3lOHfVHWCqn4qIv+K9w8DwBxV/TRWZY1GFQGSsMbeGGOiSXGrqqgqSUmhrymjSWd7xx13nH9h\nDRDj79mr6v+o6mWq2ltVH3XLHnQNPao6WlW7qupg95oQtO+zqtrHveKe5LhSKuzK3hhjGlBSUkJW\nVha33HILAwYM4PDhw8yYMYO8vDwGDBhQKy1sNOlsH3jgAZ5wg/8PHz6ce+65h6uuuop+/frx/vvv\nA94gO5MmTSIrK4vJkyeTl5dnX80LoVV00PODKipIEWvsjTGty12v38VfjjRv4za422CeGNe0DDu7\nd+/m+eefr8l8N3fuXDp16kQgEGDkyJFMnjyZrKysWvuES2dbl6qyefNmVq1axZw5c3j99df59a9/\nTbdu3Vi2bBmFhYXk5uY2qdyJzhLhREnFbuMbY0wkvXv3rmnowUs8k5ubS25uLkVFRezatavePnXT\n2R44cCDksW+66aZ622zYsIH8/HwAsrOzGTBgQDNGkzjsyj5KVVJBMhfGuxjGGFNLU6/AY6Vdu3Y1\n08XFxcyfP5/NmzfTsWNHbr31VsrLy+vtE2062+qUsc2R8vbLxq7so1QlAZLtyt4YY6L22WefkZ6e\nzkUXXcThw4dZu7b5v1Q1bNgwXnnlFQB27twZ8s6BsSv7qKlU0Mae2RtjTNRyc3PJysri8ssv5+KL\nL2bYsGHNfo5Zs2YxdepUsrKyal7VaW/NF6yxj5ImBUi2xt4YY2p56KGHaqb79OlTqye8iPDCCy+E\n3G/Dhg0102VlZTXT+fn5Nc/gH3nkkZDbd+vWjZKSEsAbaGbJkiWkpqZSXFzMmDFj6NkzeDw3A9bY\nR82u7I0xpvU5deoUo0aNIhAIoKo888wztGljTVtd9o5ESZMCtEmyxt4YY1qTjh07sm3btngXo9Wz\nDnpR0qQKa+yNMcb4kjX2UVi5vRSkgr1HzjBs7lvevDHGGOMT1thHsHJ7Kfcu3wnJ50CTKS07w73L\nd1qDb4wxxjessY9g3to9fH62EpIrEPc9+zMVlcxb23C2JmOMMaa1sMY+go/LzjA+6X2S2pxjQvv3\n2JDyEyYkbeDjsjPxLpoxxsSF31Pc3n777axcubLZj1utOskPwNixYzl58mTMzhUt640fwbT2m5ld\nsYD/TApweacDZJLK3LYL6dQ2BfhmvItnjDEtzlLcRi8WowY2hV3ZRzC77ctcIGdRlLYIAGlyjtlt\nX45zyYwxpnXxU4rbtWvXMmTIEC677DLWrFkDwL59+7j22mvJyclhyJAhbNq0CYDS0lKGDx/O4MGD\nueKKK2rOvWbNGq655hpyc3OZMmUKp0+frneezMxMysrKKCkp4YorruC2225jwIAB3HDDDTV5AoqL\nixk7dixDhgzhuuuuY+/evU2tgrDsyj6CtDNHqAS+1/kGRn7yTq3lxhgTb5biNnyK2+nTp3PnnXcy\nePDgesc6ePAgW7Zsobi4mNGjR1NSUkL37t1Zt24dqamp7N69m2nTprFp0yZefPFFxo8fz913301l\nZSVnzpzh6NGjzJ07l/Xr15OWlsajjz7K/Pnzue+++8K+N3v27OGll15i4MCB3HTTTaxcuZL8/Hxm\nzJjBwoUL6d27N++99x4zZ87kjTfeaNL7H4419pF0yCT5xEG+03kM137yXq3lxhhjaguV4nbRokUE\nAgE+/vhjdu3aVa+xr5vi9t133w157HApbu+++26gforbhh4V3HzzzSQlJdGvXz969uxJcXExPXr0\nYObMmRQWFtKmTRv27dsHwJVXXskPfvADysvLufHGG8nOzubNN99k165dDB06FIBz584xfPjwBt+b\nPn36MHDgwFoxlJWVsXHjRiZNmlSzXSwy+lljH8moB+G/f1J7WdsLveXGGBNnluK2aUSk3vzjjz9O\nz549efHFF6moqKB9+/YAXH/99RQUFPDHP/6RqVOnMnv2bNLS0hg3blzYsf8bKn9wDKpKly5donr0\ncD7smX0kg26G8U9Ccgog0KGnNz/o5niXzBhjWrXWnOL21VdfRVXZu3cvBw8epG/fvpw4cYLu3bsj\nIjz33HOoKgAfffQR3bp1Y8aMGUyfPp3t27czdOhQ3nnnHfbv3w94fQeKi4sbXf6MjAy6d+/OihUr\nAKiqqqKwsLDRx4nEGvtoDLoZvpIFD5XBTz+wht4YY6IQnOJ26tSpMUtxW1paSlZWFg8//HCtFLfT\np08Pe8Xco0cP8vLyGD9+PAsWLCAlJYWZM2eycOFCsrOz+fDDD2uuxNevX092djY5OTksX76cWbNm\n0bVrVxYtWsSUKVPIzs5m6NChTe5Yt3TpUp5++umaxxCrV69u2pvRAKn+z8Xv8vLydOvWrTE7fkFB\nASNGjIjZ8eMlEeOymPzBYmq6oqIi+vfvH/PzAJw8eZL09PQWOVdTBAIBAoFArRS3xcXFDWa+a+0x\nhROq3kVkm6rmhdmlhj2zN8YY41uW4jY69o4YY4zxLUtxGx17Zm+MMcYkuJg29iIyTkT2iEiJiNQb\nIUFErhORP4tIQEQm11lXKSJ/ca9VsSynMcb4TaL0tzLROd/6jtltfBFJBp4Cvg4cAraIyCpVDf5e\nxN+A7wI/r38Ezqhq/WGPjDHmSy41NZXjx4/TuXPnet8XN4lHVTl+/DipqalNPkYsn9lfBZSo6n4A\nEVkKTARqGntVPeDWVcWwHMYYk1AyMzM5dOgQx44di/m5ysvLz6uRaY38GFNqaiqZmU0fuTWWjX0P\n4GDQ/CHgq43YP1VEtgIBYK6qxi4foTHG+Ejbtm3p1atXi5yroKCAnJycFjlXS0nEmCKJ2ffs3TP4\ncap6u5v/DvBVVZ0ZYtvfA6tV9bWgZT1UtVRELgXeAkap6r46+80AZgB07dp1yNKlS2MSC3hf76ge\nOjGRJGJcFpM/WEz+YDG1biNHjoz79+xLgZ5B85luWVRUtdT93C8iBUAOsK/ONguABeANqhPLwSwS\ncQAQSMy4LCZ/sJj8wWJKDLHsjb8F6CsivUQkBcgHoupVLyIZInKBm+4CDCPoWb8xxhhjohfT4XJF\n5BvAE0Ay8KyqPioic4CtqrpKRK4EVgAZQDlwRFUHiMhQ4BmgCu8fkidUdVGEcx0DPopZMNAF+CSG\nx4+XRIzLYvIHi8kfLKbW7WJV/btIGyXM2PixJiJbo3ku4jeJGJfF5A8Wkz9YTInBRtAzxhhjEpw1\n9sYYY0yCs8Y+egviXYAYScS4LCZ/sJj8wWJKAPbM3hhjjElwdmVvjDHGJDhr7KMQKXtfayIiPUXk\nbRHZJSJ/FZE73fJOIrJORIrdzwy3XETkSRfbDhHJDTrWNLd9sYhMi1dMQeVJFpHtIrLazfcSkU2u\n7C+78RwQkQvcfIlbf0nQMe51y/eIyNj4RFJTlo4i8pqI7BaRIhG5xu/1JCI/db93H4jISyKS6rd6\nEpFnReSoiHwQtKzZ6kVEhojITrfPkyKxz2QTJqZ57ndvh4isEJGOQetCvv/hPgvD1XFLxxS07p9E\nRMUbp8U39RRTqmqvBl54YwTsAy4FUoBCICve5WqgvN2BXDedDuwFsoBfAfe45fcAv3TT3wDWAAJc\nDWxyyzsB+93PDDedEefYfgYswRtaGeAVIN9NPw38yE3/GHjaTecDL7vpLFd/FwC9XL0mxzGe54Db\n3XQK0NHP9YSXD+ND4MKg+vmu3+oJuA7IBT4IWtZs9QJsdtuK2/eGOMU0Bmjjpn8ZFFPI958GPgvD\n1XFLx+SW9wTW4o270sVP9RTLl13ZR1aTvU9VzwHV2ftaJVU9rKp/dtMngSK8D+GJeI0L7ueNbnoi\n8Lx6NgIdRaQ7MBZYp6qfqur/AeuAcS0YSi0ikgl8E1jo5gW4HqjOp1A3pupYXwNGue0nAktV9ayq\nfgiU4NVvixORDngfVosAVPWcqpbh83rCG4L7QhFpA6QBh/FZPanqn4BP6yxulnpx6y5S1Y3qtSjP\nBx0rZkLFpKpvqGrAzW7EG9K8OqZQ73/Iz8IIf4sxE6aeAP4DmA0Ed0jzRT3FkjX2kYXK3tcjTmVp\nFHdbNAfYBHRV1cNu1RGgq5sOF19ri/sJvD/g6nTInYGyoA+r4PLVlN2tP+G2b00x9QKOAb8T79HE\nQhFph4/rSb18Fo8Bf8Nr5E8A2/B3PVVrrnrp4abrLo+37+FdvULjY2rob7FFichEoFRVC+usSpR6\najJr7BOUiLQHlgF3qepnwevcf6q++RqGiHwLOKqq2+JdlmbUBu8W5H+pag5wGu/2cA0f1lMG3hVU\nL+DvgXbE9y5DTPitXiIRkfvxUokvjndZzoeIpAH3AQ/GuyytkTX2kZ1X9r54EJG2eA39YlVd7hb/\nr7s1hft51C0PF19rinsYMEFEDuDdOrwemI93K646c2Nw+WrK7tZ3AI7TumI6BBxS1U1u/jW8xt/P\n9TQa+FBVj6lqBbAcr+78XE/VmqteSvnidnnw8rgQke8C3wJucf/EQONjOk74Om5JvfH+0Sx0nxWZ\nwJ9FpBs+r6fmYI19ZE3O3hcP7vnZIqBIVf89aNUqoLqn6TTgD0HLp7reqlcDJ9ztyrXAGPEyEGbg\ndeZZ2yJB1KGq96pqpqpegvf+v6WqtwBvA5PdZnVjqo51stte3fJ88XqB9wL64nXCaXGqegQ4KCL9\n3KJReJkdfVtPeLfvrxaRNPd7WB2Tb+spSLPUi1v3mYhc7d6jqUHHalEiMg7v0dgEVf08aFW49z/k\nZ6Grs3B13GJUdaeqfkVVL3GfFYfwOisfwcf11Gxi3QMwEV54PTn34vVEvT/e5YlQ1uF4txh3AH9x\nr2/gPVdbDxQDbwKd3PYCPOVi2wnkBR3re3idc0qA6fGOzZVpBF/0xr8U70OoBHgVuMAtT3XzJW79\npUH73+9i3UOce9cCg4Gtrq5W4vUG9nU9AQ8Du4EPgBfwenT7qp6Al/D6HFTgNRi3NWe9AHnu/dkH\n/AY3uFkcYirBe15d/TnxdKT3nzCfheHquKVjqrP+AF/0xvdFPcXyZSPoGWOMMQnObuMbY4wxCc4a\ne2OMMSbBWWNvjDHGJDhr7I0xxpgEZ429McYYk+CssTcmQYjIqSi2ucuNNBZu/UIRyWrCufNE5MlG\nbF8gXva0HeJlXvuN1M669n5jy2CMCc++emdMghCRU6raPsI2B/C+Y/xJiHXJqloZq/LVOVcB8HNV\n3eoGaPk3V66vtcT5jfmysSt7YxKMiIxwV86vuavmxW7ksJ/gjVn/toi87bY9JSKPi0ghcI3bLy9o\n3aMiUigiG0Wkq1v+j+Llqy8UkT8FnXO1m24vIr8TLxf4DhGZ1FB51cugNhv4BxHJrj530HHfEZE/\niMh+EZkrIreIyGZ3/N4xeRONSTDW2BuTmHKAu/Byk18KDFPVJ4GPgZGqOtJt1w4vt3e2qm6oc4x2\nwEZVzQb+BHzfLX8QGOuWTwhx7n/GG450oKoOAt6KVFh3R6EQuDzE6mzgh0B/4DvAZap6FV6641mR\njm2MscbemES1WVUPqWoV3lCol4TZrhIvaVIo54DVbnpb0DHeA34vIt8HkkPsNxpvaFIA1MsTHg0J\ns3yLqh5W1bN4Q5e+4ZbvJHxcxpgg1tgbk5jOBk1X4qXUDaW8gef0FfpFp56aY6jqD4EH8LKFbROR\nzudbWBFJBgYCRSFWB8dSFTRfRfi4jDFBrLE35svlJJB+PgcQkd6quklVHwSOUTtFKMA64I6g7TMi\nHK8tXge9g6q643zKZowJzRp7Y75cFgCvV3fQa6J5rnPcB8D7eM/agz0CZFR34gNG1juCZ7GI7MDL\nLNYOmHgeZTLGNMC+emeMMcYkOLuyN8YYYxKcNfbGGGNMgrPG3hhjjElw1tgbY4wxCc4ae2OMMSbB\nWWNvjDHGJDhr7I0xxpgEZ429McYYk+D+Hyy9MpoAC1+OAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3f2dc8bf50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = subplots(1)\n",
    "ax.plot(dim, Rs[:,1],'b-', label=\"Testing\")\n",
    "ax.plot(dim, R_dir[1]*np.ones(N),'b-', label=\"Testing: baseline\")\n",
    "ax.plot(dim, Rs[:,3],'g-', label=\"Training\")\n",
    "ax.plot(dim, R_dir[3]*np.ones(N),'g-', label=\"Training: baseline\")\n",
    "ax.scatter(dim, Rs[:,1])\n",
    "ax.scatter(dim, Rs[:,3])\n",
    "\n",
    "ax.set_xlabel('Intrinsic Dim')\n",
    "ax.set_ylabel('Classification Accuracy')\n",
    "ax.set_title('Classification  Accuracy')\n",
    "ax.legend()\n",
    "ax.grid()\n",
    "# ax.set_ylim([0.75,1.01])\n",
    "fig.set_size_inches(8, 5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The above figure show that updating in the intrinsic space can prevent overfitting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3f2dcc3850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = subplots(1)\n",
    "ax.plot(dim, Rs[:,4],'g-', label=\"Training\")\n",
    "ax.plot(dim, R_dir[4]*np.ones(N),'g-', label=\"Training: baseline\")\n",
    "ax.scatter(dim, Rs[:,4])\n",
    "\n",
    "ax.set_xlabel('Intrinsic Dim')\n",
    "ax.set_ylabel('Time (second)')\n",
    "ax.set_title('Wall Clock Time')\n",
    "ax.legend()\n",
    "ax.grid()\n",
    "# ax.set_ylim([0.75,100.01])\n",
    "fig.set_size_inches(8, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
